<template>
  <div>
    child2组件 - <button @click="child2minus(2)">btn1</button> -
    <button @click="child2add()">btn2</button>
  </div>
</template>

<script>
// mapMutations可以用于简化commit的写法
import { mapMutations } from "vuex";
export default {
  methods: {
    // 将仓库里面的add和minus函数映射到组件里面的add和minus函数
    ...mapMutations(["add", "minus"]),
    child2minus(num) {
      // 用commit方法去调用仓库的mutations的函数
      // commit方法可以接受两个参数，第一个是mutation的函数名称(type)，第二个就是传递的参数(payload)
      // this.$store.commit("minus", { num });
      // 等价于
      // this.$store.commit({
      //   type: "minus",
      //   num: num,
      // });
      this.minus({ num });
    },
    child2add() {
      // this.$store.commit("add");
      this.add();
    },
  },
};
</script>
